syntax "JavaScript" "\.js$"

color blue   "\<[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\>"
color blue   "\<[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?"
color blue   "\<[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?"
color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
color cyan  "\<(break|case|catch|continue|default|delete|do|else|finally)\>"
color cyan  "\<(for|function|get|if|in|instanceof|new|return|set|switch)\>"
color cyan  "\<(switch|this|throw|try|typeof|var|void|while|with)\>"
color cyan  "\<(null|undefined|NaN)\>"
color brightcyan "\<(true|false)\>"
color green     "\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\>"
color green     "\<(Number|Object|RegExp|String)\>"
color red "[-+/*=<>!~%?:&|]"
color magenta   "/[^*]([^/]|(\\/))*[^\\]/[gim]*"
color magenta   "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]"
color brightblack "(^|[[:space:]])//.*"
color brightblack "/\*.+\*/"
color brightwhite,cyan "TODO:?"
color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
color ,green "[[:space:]]+$"
color ,red "	+ +| +	+"
